1
Программирование как трансформация данных
AI019Lesson 1
00:00

В Эликсире мы отказываемся от императивной модели изменения состояния в пользу потокового подхода, при котором программы представляют собой дискретные, чистые трансформации. Вместо того чтобы говорить компьютеру как изменить значение, мы определяем цепочку функций, где Программирование должно быть направлено на трансформацию данных.

1. Мандат неизменяемости

В Эликсире, все значения неизменяемы. Как только данные созданы, они не могут быть изменены. Это гарантирует, что Неизменяемые данные — это известные данные—информация никогда не изменится неожиданно, устраняя огромные категории ошибок, связанных со состоянием. Эта трансформация никогда не изменяет данные; вместо этого каждая функция создает новую, свежую версию данных.

Исходные данныеТрансформацияНовое состояние|>|>

2. Философия оператора |>

Оператор передачи данных (|>) рассматривает данные как жидкость, движущуюся по производственной линии. Язык функционального программирования позволяет нам думать о функциях, которые трансформируют данные пошагово.

3. Контекст акторов

В виртуальной машине Эрланга (BEAM) код выполняется в мелких параллельных процессах, каждый из которых имеет собственное состояние. Процессы общаются друг с другом через сообщения. Поскольку коммуникация происходит через передачу сообщений, обмен данными между разными машинами в сети осуществляется прозрачно для виртуальной машины.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>